Generally, migration of data from a source database to a destination database requires users to manually generate scripts, wherein the scripts, when executed over the source database, direct data to appropriate locations in the destination database. Manually generating scripts, however, is a time-consuming task. In an example, an application can be configured to store data into and retrieve data from a source database, wherein the source database conforms to a source database schema. The application may be updated (i.e., to create a new version of the application), where the update to the application includes creation of a new (destination) database that conforms to a new database schema. To effectively update the application to the new version, then, data from the source database needs to be migrated to the destination database. As indicated above, however, generating scripts to perform such migration can be tedious and time consuming, and for complex applications can take several months (or even years).